#pragma once
//***********************************************************************
//	File:		WoodenCrate.h
//	Author:		
//	Course:		SGP 1405
//	Purpose:	
//***********************************************************************
//***********************************************************************
//	Purposfully left blank for all comments regarding this file 
//	
//	
//	
//***********************************************************************



#include "Moveable.h"
#include "../SGD Wrappers/SGD_Listener.h"

class WoodenCrate :
	public Moveable, public SGD::Listener
{
public:
	WoodenCrate(float posX = 0, float posY = 0);
	//Trilogy
	~WoodenCrate();
	WoodenCrate(const WoodenCrate&) = default; 
	WoodenCrate& operator =(const WoodenCrate&) = default; 

	//Type 
	int GetType() const { return ENT_WOODENCRATE; }

	//Interface
	void Update(float dt);
	void Render();
	void HandleCollision(const IEntity* pOther);
	void HandleEvent( const SGD::Event* pEvent);
	SGD::Rectangle GetRect() const;
	void ModifyHealth(float hpAmount);
	void ApplyFriction(float dt);

	//Accessor
	bool GetIsFrozen(void) { return m_bIsFrozen; }

	//Mutator
	void SetIsFrozen(bool isfro) { m_bIsFrozen = isfro; }

private:
	bool m_bIsFrozen = false; 
};

